/**
 * 
 */
package org.swing.utility.system.imp;

/**
 * @author lqnhu
 *
 */
public interface Console {
	/**
	 * Message types.
	 */
	enum MessageType {
		/**
		 * A non-fatal error message.
		 */
		ERROR,

		/**
		 * A warning message.
		 */
		WARNING,

		/**
		 * An information message.
		 */
		INFO,

		/**
		 * A low-level information message.
		 */
		VERBOSE,

		/**
		 * A debugging or trace message.
		 */
		DEBUG
	}

	/**
	 * Show specified message to user.
	 * 
	 * @param message
	 *            a possibly multi-line message
	 * @param messageType
	 *            type of message: {@link MessageType#INFO},
	 *            {@link MessageType#WARNING}, {@link MessageType#ERROR} or
	 *            {@link MessageType#DEBUG}.
	 */
	void showMessage(String message, MessageType messageType);
}
